package com.moji.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.Version;
import com.baomidou.mybatisplus.annotation.TableId;
import java.io.Serializable;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 系统消息表
 * </p>
 *
 * @author ccl
 * @since 2024-08-10
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value="SysMessage对象", description="系统消息表")
public class SysMessage extends Model<SysMessage> {

    private static final long serialVersionUID=1L;

    @ApiModelProperty(value = "id")
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    @ApiModelProperty(value = "接收者编码")
    private String receiveUserId;

    @ApiModelProperty(value = "接收者")
    private String receiveUserName;

    @ApiModelProperty(value = "发送者编码")
    private String sendUserId;

    @ApiModelProperty(value = "接收者名称")
    private String sendUserName;

    @ApiModelProperty(value = "消息类型 1-发票提醒 2-下单成功 3-待支付提醒4-超时未支付 5-工单回复 6-工单完结 7-服务到期提醒 ")
    private String messageType;

    @ApiModelProperty(value = "消息标题")
    private String messageTitle;

    @ApiModelProperty(value = "消息内容")
    private String messageCenter;

    @ApiModelProperty(value = "发送时间")
    private Date sendTime;

    @ApiModelProperty(value = "状态： 1 - 正常 0 - 正在处理 9 - 失败")
    private String status;

    @ApiModelProperty(value = "相关单据号（存放订单或工单id）")
    private String billNo;

    @ApiModelProperty(value = "单据类型 0-工单 1-发票 2-订单")
    private String billTypeCode;

    @ApiModelProperty(value = "是否跳转： 1 - 跳转  0 - 不跳转")
    private String toJump;

    @ApiModelProperty(value = "跳转路径")
    private String jumpUrl;

    @ApiModelProperty(value = "是否已读")
    private Integer markAsRead;

    @ApiModelProperty(value = "创建人id")
    private String createId;

    @ApiModelProperty(value = "创建时间")
    private Date createTime;

    @ApiModelProperty(value = "操作人id")
    private String updateId;

    @ApiModelProperty(value = "更新时间")
    private Date updateTime;


    @Override
    protected Serializable pkVal() {
        return this.id;
    }

}
